<!DOCTYPE html>
<html>
<title>Service Workers: Request Objects</title>
    <head>
        <link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#request-objects">
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>

        <script src=/resources/WebIDLParser.js></script>
        <script src=/resources/idlharness.js></script>

    </head>
    <body>

<script type=text/plain id="idl_0">
[Constructor(optional RequestInit init)]
interface Request {
  attribute unsigned long timeout;
  attribute DOMString url;
  attribute ByteString method;
  readonly attribute DOMString origin;
  readonly attribute Mode mode;
  attribute boolean synchronous;
  attribute boolean forcePreflight;
  attribute boolean omitCredentials;
  readonly attribute DOMString referrer;
  readonly attribute HeaderMap headers; // alternative: sequence<Header> headers;
  attribute any body;
};

dictionary RequestInit {
  unsigned long timeout = 0;
  DOMString url;
  boolean synchronous = false;
  boolean forcePreflight = false;
  boolean omitCredentials = false;
  ByteString method = "GET";
  HeaderMap headers;
  any body;
};

enum Mode {
  "same origin",
  "tainted cross-origin",
  "CORS",
  "CORS-with-forced-preflight"
};

[MapClass(DOMString, DOMString)]
interface HeaderMap {
};
</pre>




    <script>
        var idl_array = new IdlArray();
        idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
        idl_array.add_idls(document.getElementById("idl_0").textContent);
        idl_array.add_objects({
            Request: ["throw new Error ('No object defined for the Request interface')"],
            RequestInit: ["throw new Error ('No object defined for the RequestInit dictionary')"],
            Mode: ["throw new Error ('No object defined for the Mode enum')"],
            HeaderMap: ["throw new Error ('No object defined for the HeaderMap interface')"]
        });
        idl_array.test();
    </script>

    </body>
</html>

